package cn.iocoder.yudao.module.system.service.investment;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.system.controller.admin.investment.vo.InvestmentInsertReqVO;
import cn.iocoder.yudao.module.system.controller.admin.investment.vo.InvestmentReqVO;
import cn.iocoder.yudao.module.system.controller.admin.investment.vo.InvestmentRespVO;
import cn.iocoder.yudao.module.system.controller.admin.investment.vo.InvestmentUpdateReqVO;
import cn.iocoder.yudao.module.system.controller.app.investment.vo.AppInvestmentPageReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.investment.SystemInvestment;
import cn.iocoder.yudao.module.system.dal.dataobject.merchant.MerchantDO;

import java.io.IOException;
import java.util.List;

/**
 * @author 梁富贵
 */
public interface InvestmentService {


    PageResult<InvestmentRespVO> getInvestmentPage(InvestmentReqVO reqVO);

    PageResult<InvestmentRespVO> getMerchantName(List<MerchantDO> merchantDOs, PageResult<SystemInvestment> systemInvestment);

    int deleteInvestment(List<Integer> ids);

    int updateInvestment(InvestmentUpdateReqVO investmentUpdateReqVO) throws IOException;

    int createInvestment(InvestmentInsertReqVO systemInvestment) throws IOException;

    SystemInvestment getInvestmentInfo(Long id);

    PageResult<SystemInvestment> getInvestmentPageResult(AppInvestmentPageReqVO pageVO);
}
